package com.ph.shopping.facade.member.service.dbservice.facade;

import com.ph.shopping.common.util.result.Result;
import com.ph.shopping.facade.member.dto.BankBindInfoDto;
import com.ph.shopping.facade.member.dto.BankCardInfoPageDto;
import com.ph.shopping.facade.member.entity.BankCardInfo;
import com.ph.shopping.facade.member.vo.UnbundBankCardInfoVo;

public interface IBankCardDbService {

	/**
	 * 
	* @Title: bindBankCardInfo  
	* @Description: 绑定银行卡  
	* @param @param bankCardInfo
	* @param @return    参数  
	* @return int    返回类型  
	* @throws
	 */
	Result bindBankCardInfo(BankBindInfoDto dto);
	
	/**
	 * 
	* @Title: UnbundBankCardInfo  
	* @Description: 解绑银行卡  
	* @param @param bankCardInfo
	* @param @return    参数  
	* @return int    返回类型  
	* @throws
	 */
	Result UnbundBankCardInfo(UnbundBankCardInfoVo unbundBankCardInfo);
	/**
	 * 
	* @Title: getBankCardInfoList  
	* @Description: 查询绑定的银行卡信息  
	* @param @param bankCard
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result queryBankCardInfoList(BankCardInfo bankCard);
	/**
	 * 
	* @Title: getBankCardInfoByPage  
	* @Description: 根据分页信息得到绑定的银行卡信息  
	* @param @param bankCardPageVo
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result queryBankCardInfoByPage(BankCardInfoPageDto dto);
	/**
	 * 
	* @Title: getBankCardInfoById  
	* @Description: 根据ID 查询  银行卡信息
	* @param @param id
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result queryBankCardInfoById(Long id);
	/**
	 * 
	* @Title: getUserBindBankCaardList  
	* @Description: 根据用户ID 获取绑定的银行卡数据 
	* @param @param userId
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result queryUserBindBankCardListByUserId(Long userId,Byte userType);
	/**
	 * 
	* @Title: queryBankCodeAndNameByCode  
	* @Description: 根据银行卡卡号获取name 
	* @param @param bankCode
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result queryBankCodeAndNameByCode(String bankCode);

	/**
	 * 
	 * @Title: queryBankCardInfo   
	 * @Description:根据用户信息 获取银行卡信息 
	 * @param: @param userId
	 * @param: @param userType
	 * @param: @return      
	 * @return: Result      
	 * @throws
	 */
	Result queryBankCardInfo(Long userId, Byte userType);

}
